home *** CD-ROM | disk | FTP | other *** search
/ MacPeople 2003 February 1 / MACPEOPLE-2003-02-01.ISO.7z / MACPEOPLE-2003-02-01.ISO / ぶらりオンラインウェアの旅 / おしゃべり漂流記 / xGates / xGates 1.2 Source Code.sit / xGates 1.2 Source Code / externs.h < prev    next >
Text File  |  2002-12-08  |  8KB  |  315 lines

  1. /*
  2.     xGates -- Stunningly entertaining action game for MacOS Classic / MacOS X
  3.     Copyright (C) 2002 Sveinbjorn Thordarson <paladeen@soth.zoneit.com>
  4.  
  5.     This program is free software; you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by
  7.     the Free Software Foundation; either version 2 of the License, or
  8.     (at your option) any later version.
  9.  
  10.     This program is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.     GNU General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU General Public License
  16.     along with this program; if not, write to the Free Software
  17.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  
  19.     externs.h
  20.  
  21. */
  22.  
  23. #pragma once
  24.  
  25. #include "DrawSprocket.h"
  26.  
  27. #include "definitions.h"
  28. #include "structures.h"
  29.  
  30.  
  31. #pragma mark - Colors
  32.  
  33. //Colors
  34. extern RGBColor myBlackColor;
  35. extern RGBColor myWhiteColor;
  36. extern RGBColor myRedColor;
  37. extern RGBColor myGreenColor;
  38. extern RGBColor myBlueColor;
  39. extern RGBColor myVeryLightGreyColor;
  40. extern RGBColor myLightGreyColor;
  41. extern RGBColor myGrayColor;
  42. extern RGBColor myDarkGrayColor;
  43. extern RGBColor myGrayBlueColor;
  44.  
  45.  
  46. #pragma mark - offscreen pic sizes
  47. //rects for offworld pics to copy from
  48. ////////////////////////////////////////
  49.  
  50.  
  51.     extern Rect        poofSizes[5];
  52.     extern Rect           highscoreSize;
  53.     extern Rect        gameTitleSize;
  54.     extern Rect        dojSize;
  55.     extern Rect        macIconSizes[2];
  56.     extern Rect        billIconSize;
  57.     extern Rect        chainsawSizes[2];
  58.     extern Rect           chainsawBigSize;
  59.  
  60.     extern Rect        cornerSize;
  61.     
  62.     //bill animation pics
  63.     extern Rect         billRects[6];
  64.  
  65.     //pic rects for blitting mac sprites
  66.     extern Rect         macRects[10][6];
  67.     
  68.     extern Rect         macScreenRects[10];
  69.     
  70.     //splash buttons                        
  71.     extern Rect    splashButtonSizes[6];
  72.     
  73.     extern Rect     scoreNamePicSize;
  74.     
  75.     extern Rect     haukurSplashSize;
  76.     extern Rect     haukurHeadSize;
  77.     extern Rect     haukurWinSize;                                           
  78.     extern Rect     sothPicSize;
  79.  
  80. #pragma mark - Onscreen pic rects
  81.                                                 
  82. //actual onscreen rects for pics
  83.  
  84. extern Rect splashButtonRects[6];
  85.  
  86. extern Rect dojCountUpdateRect;
  87. extern Rect billCountUpdateRect; 
  88. extern Rect scoreCountUpdateRect;
  89.  
  90. extern Rect gamePausedPicRect;
  91. extern Rect fpsRect;
  92.  
  93.  
  94. #pragma mark - Bill Start Locs
  95. //start locs for bills
  96. extern Point        billStartLocs[8];
  97.  
  98. extern Rect        updateRects[kMaxUpdateRects];
  99. extern short       gNumUpdateRects;
  100.  
  101.  
  102.  
  103. #pragma mark - App glob vars
  104.  
  105. //app vars
  106. extern short        gDone;
  107. extern short        gPlaying;
  108. extern short        gWhere;
  109.  
  110. //in game, glob vars
  111. extern short            pauseTime;
  112. extern short           dojCooldown;
  113. extern short           levelScore;
  114. extern short           cheated;
  115. extern short           currentLevel;
  116.  
  117. extern short           currentBillSpeed;
  118. extern short           lastBillStartLoc;
  119.  
  120. extern short           billsInLevel;
  121. extern short           levelCompleted;
  122. extern short           numOfBills;
  123. extern short           numOfSteves;
  124. extern short           numOfDojs;
  125. extern short           numOfPoofs;
  126.  
  127. extern short           weaponState;
  128.  
  129. //mouse game vars
  130. extern short            mouseDownLast;
  131. extern short            mouseCount;
  132. extern short            mouseCountdown;
  133. extern short            mouseJammed;
  134.  
  135.  
  136.  
  137. #pragma mark - Vital structures
  138. //contains data about the current player
  139. extern PlayerStruct    player;
  140. //game preferences
  141.  
  142. extern PrefsStruct     prefs;
  143.  
  144. //data on Dept. of Justices in level
  145. extern DojStruct       dojs[2];
  146.  
  147. //poofs in level
  148. extern PoofStruct      poofs[kMaxPoofLimit];
  149.  
  150. //bills structure - keeps track of all bills in level
  151. extern BillStruct  bills[10];
  152.  
  153. //this is the struct that keeps track of Steve.  Ironically enough, it's a BillStruct
  154. extern BillStruct  steve;
  155.  
  156. //levels structure
  157. extern LevelStruct levels[kNumOfLevels];
  158.  
  159.  
  160.  
  161.  
  162.  
  163. extern FSSpec   prefsFile;
  164.  
  165. extern Rect    gameScreenSize;
  166. extern Rect    barRect;
  167. extern Rect    winRect;
  168. extern Rect    screenSize;
  169.  
  170.  
  171.  
  172. #pragma mark - Menus
  173.  
  174. //menus
  175. extern MenuHandle  appleMenu;
  176. extern MenuHandle  fileMenu;
  177. extern MenuHandle  editMenu;
  178. extern MenuHandle  optionsMenu;
  179. extern MenuHandle  geekOptionsMenu;
  180.  
  181. #pragma mark - PixMaps
  182.  
  183. extern PixMapHandle    billPix;
  184. extern GWorldPtr       billPtr;
  185.  
  186. extern PixMapHandle    stevePix;
  187. extern GWorldPtr       stevePtr;
  188.  
  189. extern PixMapHandle    workMapPix;
  190. extern GWorldPtr       workMapPtr;
  191.  
  192. extern PixMapHandle    macPix[10];
  193. extern GWorldPtr       macPtr[10];
  194.  
  195. extern PixMapHandle    chainSawPix;
  196. extern GWorldPtr       chainSawPtr;
  197.  
  198. extern PixMapHandle    chainSawBigPix;
  199. extern GWorldPtr       chainSawBigPtr;
  200.  
  201. extern PixMapHandle    splashPix;
  202. extern GWorldPtr       splashPtr;
  203.  
  204. extern PixMapHandle    highScorePix;
  205. extern GWorldPtr        highScorePtr;
  206.  
  207. extern PixMapHandle    buttonsPix;
  208. extern GWorldPtr       buttonsPtr;
  209.  
  210. extern PixMapHandle    deptOfJusticePix;
  211. extern GWorldPtr       deptOfJusticePtr;
  212.  
  213. extern PixMapHandle    macIconPix;
  214. extern GWorldPtr       macIconPtr;
  215.  
  216. extern PixMapHandle    billIconPix;
  217. extern GWorldPtr       billIconPtr;
  218.  
  219. extern PixMapHandle    deptOfJusticeIconPix;
  220. extern GWorldPtr       deptOfJusticeIconPtr;
  221.  
  222. extern PixMapHandle    poofPix;
  223. extern GWorldPtr       poofPtr;
  224.  
  225. extern PixMapHandle    sothPix;
  226. extern GWorldPtr       sothPtr;
  227.  
  228. extern PixMapHandle    mousePix;
  229. extern GWorldPtr       mousePtr;
  230.  
  231. extern PixMapHandle    keyboardPix;
  232. extern GWorldPtr       keyboardPtr;
  233.  
  234. extern PixMapHandle    gamePausedPix;
  235. extern GWorldPtr       gamePausedPtr;
  236.  
  237. extern PixMapHandle    cornerPix[2];
  238. extern GWorldPtr       cornerPtr[2];
  239.  
  240. extern PixMapHandle     scoreNameRectPix;
  241. extern GWorldPtr        scoreNameRectPtr;
  242.  
  243. extern PixMapHandle     haukurSplashPix;
  244. extern GWorldPtr        haukurSplashPtr;
  245.  
  246. extern PixMapHandle     haukurHeadPix;
  247. extern GWorldPtr        haukurHeadPtr;
  248.  
  249. extern PixMapHandle     haukurWinPix;
  250. extern GWorldPtr        haukurWinPtr;
  251.  
  252. extern Boolean    gOS;
  253.          
  254. //SOUNDS
  255. #pragma mark - Sounds
  256.     //weapon sounds
  257.     extern Handle          chainsawSnd;
  258.     extern Handle           jammedSnd;
  259.  
  260.     //bill sounds
  261.     extern Handle          billScreamSnd;
  262.     extern Handle          billIndignantSnd;
  263.  
  264.     //steve sounds
  265.     extern Handle          steveAppearsSnd;
  266.     extern Handle          steveScreamSnd;
  267.  
  268.     //computer sounds
  269.     extern Handle          macOSLoadedSnd;
  270.     extern Handle          winXPLoadedSnd;
  271.     
  272.     //dept of justice sounds
  273.     extern Handle          dojAppearsSnd;
  274.     extern Handle          dojCaughtSnd;
  275.     
  276.     //other sounds
  277.     extern Handle          bonkSnd;
  278.     extern Handle          zoomSnd;
  279.     extern Handle          poofSnd;
  280.     extern Handle            gongSnd;
  281.     extern Handle           beepSnd;
  282.     
  283.     //game sounds
  284.     extern Handle          gameOverSnd;
  285.     extern Handle          gamePausedSnd;
  286.     extern Handle           yeahSnd;
  287.     extern Handle          killSomeBillSnd;
  288.     extern Handle           goodJobSound;
  289.     
  290.     
  291.     //music sounds
  292.     extern Handle          musicSounds[6];
  293.  
  294.     //game sound channels
  295.     extern SndChannelPtr   weaponSndChannel;
  296.     extern SndChannelPtr   billSndChannel;
  297.     extern SndChannelPtr   steveSndChannel;
  298.     extern SndChannelPtr   computerSndChannel;
  299.     extern SndChannelPtr   dojSndChannel;
  300.     extern SndChannelPtr   otherSndChannel;
  301.     //music channel
  302.     extern SndChannelPtr   musicSndChannel;       
  303.     
  304.     
  305.     
  306.  
  307. extern Rect                textFieldRect;
  308. extern TEHandle            playerNameTextField;
  309. extern Str255            playerName;
  310.  
  311.  
  312.     // Set all context attributes
  313. extern DSpContextReference  gDisplayContext;
  314. extern DSpContextAttributes gDisplayAttributes;                                
  315.